package com.esm.service;

import net.sf.json.JSONArray;

/**
 * SignService
 * 签到服务层
 * @author 魏长均
 *
 */
public interface SignService 
{
	/**
	 * 根据年份selectYear获取员工签到记录
	 * @param selectYear		选择的年份
	 * @return	签到记录结果集
	 * @author 魏长均
	 */
	public JSONArray getEmpSign(String selectYear,int page,int pageSize);
	
	/**
	 * 根据年份selectYear获取部门签到记录
	 * @param selectYear		选择的年份
	 * @return	签到记录结果集
	 * @author 魏长均
	 */
	public JSONArray getDeptSign(int dep_id,String selectYear,int page,int pageSize);
	/**
	 * 根据年份selectYear获取员工签到记录
	 * @param uid	员工id
	 * @param selectYear		选择的年份
	 * @return	签到记录结果集
	 * @author 魏长均
	 */
	public JSONArray getYrEmppSign(int uid,String selectYear,int page,int pageSize);
	
	/**
	 * 根据年、月份selectYear、selectMonth获取员部门签到记录
	 * @param selectYear		选择的年份
	 * @param selectMonth		选择的月份
	 * @return	签到记录结果集
	 * @author 魏长均
	 */
	public JSONArray getYrMthDeptSign(int dep_id,String selectYear,String selectMonth,int page,int pageSize);
	
	/**
	 * 根据年、月份selectYear、selectMonth获取员部门签到记录
	 * @param uid	员工id
	 * @param selectYear		选择的年份
	 * @param selectMonth		选择的月份
	 * @return	签到记录结果集
	 * @author 魏长均
	 */
	public JSONArray getYrMthEmppSign(int uid,String selectYear,String selectMonth,int page,int pageSize);
	
	/**
	 * 根据年、月份selectYear、selectMonth获取员工签到记录
	 * @param selectYear		选择的年份
	 * @param selectMonth		选择的月份
	 * @return	签到记录结果集
	 * @author 魏长均
	 */
	public JSONArray getYrMthEmpSign(String selectYear,String selectMonth,int page,int pageSize);
	
	/**
	 * 根据年、月、日,selectYear、selectMonth、selectDay获取员工签到记录
	 * @param selectYear		选择的年份
	 * @param selectMonth		选择的月份
	 * @param selectDay		选择的日
	 * @return	签到记录结果集
	 * @author 魏长均
	 */
	public JSONArray getYrMthDayEmpSign(String selectYear,String selectMonth,String selectDay,int page,int pageSize);
	
	/**
	 * 根据年、月、日,selectYear、selectMonth、selectDay获取部门签到记录
	 * @param selectYear		选择的年份
	 * @param selectMonth		选择的月份
	 * @param selectDay		选择的日
	 * @return	签到记录结果集
	 * @author 魏长均
	 */
	public JSONArray getYrMthDayDeptSign(int dep_id,String selectYear,String selectMonth,String selectDay,int page,int pageSize);
	/**
	 * 根据年、月、日,selectYear、selectMonth、selectDay获取部门签到记录
	 *  @param uid	员工id
	 * @param selectYear		选择的年份
	 * @param selectMonth		选择的月份
	 * @param selectDay		选择的日
	 * @return	签到记录结果集
	 * @author 魏长均
	 */
	public JSONArray getYrMthDayEmppSign(int uid,String selectYear,String selectMonth,String selectDay,int page,int pageSize);
	
	/**
	 * 获取签到记录总行数
	 * @param selectYear	selectYear选择的年份
	 * @return 查询总行数
	 * @author 魏长均
	 */
	public int getEmpSignTotalRows(String selectYear);
	
	/**
	 * 获取选择的年月签到记录总行数
	 * @param selectYear	选择的年份
	 * @param selectMonth	选择的月份
	 * @return 查询总行数
	 * @author 魏长均
	 */
	public int getYrMthSignTotalRows(String selectYear,String selectMonth);
	
	/**
	 * 获取选择的年、月、日签到记录总行数
	 * @param selectYear	选择的年份
	 * @param selectMonth	选择的月份
	 * @param selectDay	选择的日
	 * @return 查询总行数
	 * @author 魏长均
	 */
	public int getYrMthDaySignTotalRows(String selectYear,String selectMonth,String selectDay);
	
	/**
	 * 获取部门选择年签到记录总行数
	 * @param dep_id	部门id
	 * @param selectYear		选择的年份
	 * @return	查询总行数
	 * @author 魏长均
	 */
	public int getDeptYrSignTotalRows(int dep_id,String selectYear);
	
	/**
	 * 获取员工选择年签到记录总行数
	 * @param uid	员工id
	 * @param selectYear		选择的年份
	 * @return	查询总行数
	 * @author 魏长均
	 */
	public int getEmppYrSignTotalRows(int uid,String selectYear);
	
	/**
	 * 获取部门选择年、月签到记录总行数
	 * @param dep_id	部门id
	 * @param selectYear		选择的年份
	 * @param selectMonth	选择的月份
	 * @return	查询总行数
	 * @author 魏长均
	 */
	public int getDeptYrMthSignTotalRows(int dep_id,String selectYear,String selectMonth);
	/**
	 * 获取部门选择年、月签到记录总行数
	 * @param uid	员工id
	 * @param selectYear		选择的年份
	 * @param selectMonth	选择的月份
	 * @return	查询总行数
	 * @author 魏长均
	 */
	public int getEmppYrMthSignTotalRows(int uid,String selectYear,String selectMonth);
	
	/**
	 * 获取部门选择年、月、日签到记录总行数
	 * @param dep_id	部门id
	 * @param selectYear		选择的年份
	 * @param selectMonth	选择的月份
	 * @param selectDay		选择的天
	 * @return	查询总行数
	 * @author 魏长均
	 */
	public int getDeptYrMthDaySignTotalRows(int dep_id,String selectYear,String selectMonth,String selectDay);
	
	/**
	 * 获取员工选择年、月、日签到记录总行数
	 * @param uid	员工id
	 * @param selectYear		选择的年份
	 * @param selectMonth	选择的月份
	 * @param selectDay		选择的天
	 * @return	查询总行数
	 * @author 魏长均
	 */
	public int getEmppYrMthDaySignTotalRows(int uid,String selectYear,String selectMonth,String selectDay);
	
}
